﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Cotizav.LogicaNegocio
{
    public class CaracteristicaBLL
    {

        internal int Registrar(Util.ContextoDB ctx, Entidades.Equipo newEquipo, Entidades.Caracteristica newCaracteristica)
        {
            if (string.IsNullOrWhiteSpace(newCaracteristica.NombreCaracteristica))
            {
                throw new ApplicationException("El nombre de la caracteristica se encuentra vacío");
            }

            if (string.IsNullOrWhiteSpace(newCaracteristica.Descripcion))
            {
                throw new ApplicationException("La descripción se encuentra vacía");
            }
            
            AccesoDatos.CaracteristicaDAO caracteristicaDAO = new AccesoDatos.CaracteristicaDAO();
            int resultado = 0;

            resultado = caracteristicaDAO.Registrar(ctx, newEquipo, newCaracteristica);

            return resultado;
        }

        public List<Entidades.Caracteristica> Listar()
        {
            AccesoDatos.CaracteristicaDAO caracteristicaDAO = new AccesoDatos.CaracteristicaDAO();

            using (Util.ContextoDB ctx = Util.ContextoDB.GetContexto())
            {
                return caracteristicaDAO.Listar(ctx);
            }
        }

        public List<Entidades.Caracteristica> Listar(Entidades.Equipo selectedEquipo)
        {
            List<Entidades.Caracteristica> lista = Listar();

            return lista.Where(x => x.IdEquipo == selectedEquipo.IdEquipo).ToList();
        }
    }
}
